package day01_IO_JDBC.demo_JDBC_emp.dao.Impl;

import day01_IO_JDBC.demo_JDBC_emp.dao.EmpDao;
import day01_IO_JDBC.demo_JDBC_emp.entity.Emp;
import day01_IO_JDBC.demo_JDBC_users.utils.DButils;

import javax.sound.midi.Soundbank;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class EmpDaoImpl implements EmpDao {

    @Override
    public boolean register(Emp emp){
//        定义connection，从驱动那里获取连接
        Connection connection= DButils.getConnection();
//        如果connection不为空，则获取属性
        try {
            if (connection!=null){
                String emp_name= emp.getEmp_name();
                double emp_salary= emp.getEmp_salary();
                int id= emp.getId();

    //            写sql语句
                String sql= " insert into emp( id, emp_name, emp_salary ) value( ?, ?, ? )";
    //            使用 preparedStatement对象 执行sql语句
                PreparedStatement preparedStatement= connection.prepareStatement(sql);
//                设置参数
                preparedStatement.setInt(1,id);
                preparedStatement.setString(2,emp_name);
                preparedStatement.setDouble(3,emp_salary);

//               判断是否成功执行
                int number= preparedStatement.executeUpdate();

                if (number>0){
                    System.out.println(number+"行数据成功受影响");
                    return true;
                }
                else {
                    return false;
                }

            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

//        关闭连接
        try {
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return false;
    }

    @Override
    public boolean login(Emp emp) {
        return false;

    }

    @Override
    public boolean update(Emp emp) {
        return false;
    }

    @Override
    public boolean delete(Emp emp) {
        return false;

    }
}
